Skip to main content

第 13 章:用 Terraform 畫架構圖

erraform graph 指令,能夠根據組態檔裡使用的 Terraform 資源來產生一張依賴關系圖。

graph 指令並不會直接製作圖片,而是以 DOT 格式輸出的。這個格式可以使用 GraphViz 這個工具轉成圖片。

在研究圖片的過程中,看到一個影片 Applying Graph Theory to Infrastructure as Code.,說明 Terraform 所使用的「圖論」基礎。

運用圖論把基礎架構 (Infrastructrue) 轉成有向圖 (directed graph) 讓自動化變得更容易,要了解依賴關系也變得容易很多。

安裝 GraphViz

在 mac 可以直接用 homebrew 安裝 GraphViz。

$ brew install graphviz

產生圖片

用上一篇的範例執行 graph 指令。

$ terraform graph | dot -Tpng > graph.png

產生的圖片如下:

!https://i.imgur.com/5bwN7AT.png

從圖片看到所有在組態檔設定的資源,連變數跟輸出都有